﻿








namespace UFIDA.U9.Cust.U9Demo.DeliveryBP.Proxy
{
	using System;
	using System.Collections.Generic;
	using System.Text;
	using System.IO;
	using System.ServiceModel;
	using System.Runtime.Serialization;
	using UFSoft.UBF;
	using UFSoft.UBF.Exceptions;
	using UFSoft.UBF.Util.Context;
	using UFSoft.UBF.Service;
	using UFSoft.UBF.Service.Base ;

    [System.ServiceModel.ServiceContractAttribute(Namespace = "http://www.UFIDA.org", Name="UFIDA.U9.Cust.U9Demo.DeliveryBP.IQueryDoc")]
    public interface IQueryDoc
    {
		[ServiceKnownType(typeof(ApplicationContext))]
		[ServiceKnownType(typeof(PlatformContext))]
		[ServiceKnownType(typeof(ThreadContext))]
		[ServiceKnownType(typeof( UFSoft.UBF.Business.BusinessException))]
		[ServiceKnownType(typeof( UFSoft.UBF.Business.EntityNotExistException))]
		[ServiceKnownType(typeof( UFSoft.UBF.Business.AttributeInValidException))]
		[ServiceKnownType(typeof(UFSoft.UBF.Business.AttrsContainerException))]
		[ServiceKnownType(typeof(UFSoft.UBF.Exceptions.MessageBase))]
			[FaultContract(typeof(UFSoft.UBF.Service.ServiceLostException))]
		[FaultContract(typeof(UFSoft.UBF.Service.ServiceException))]
		[FaultContract(typeof(UFSoft.UBF.Service.ServiceExceptionDetail))]
		[FaultContract(typeof(ExceptionBase))]
		[FaultContract(typeof(Exception))]
		[OperationContract()]
		List<UFIDA.U9.Cust.U9Demo.DeliveryBP.ResultDTOData> Do(IContext context, out IList<MessageBase> outMessages ,System.Int64 pO, System.String pO_DocNo, System.Int64 supplier, System.String supplier_Code, System.DateTime date, System.Int64 item, System.String item_Code);
    }
	[Serializable]    
    public class QueryDocProxy : OperationProxyBase//, UFIDA.U9.Cust.U9Demo.DeliveryBP.Proxy.IQueryDoc
    {
	#region Fields	
				private System.Int64 pO ;
						private System.String pO_DocNo ;
						private System.Int64 supplier ;
						private System.String supplier_Code ;
						private System.DateTime date ;
						private System.Int64 item ;
						private System.String item_Code ;
			
	#endregion	
		
	#region Properties
	
				

		/// <summary>
		/// 采购订单ID (该属性可为空,但有默认值)
		/// 查询采购订单行.Misc.采购订单ID
		/// </summary>
		/// <value>System.Int64</value>
		public System.Int64 PO
		{
			get	
			{	
				return this.pO;
			}

			set	
			{	
				this.pO = value;	
			}
		}		
						

		/// <summary>
		/// 采购订单号 (该属性可为空,且无默认值)
		/// 查询采购订单行.Misc.采购订单号
		/// </summary>
		/// <value>System.String</value>
		public System.String PO_DocNo
		{
			get	
			{	
				return this.pO_DocNo;
			}

			set	
			{	
				this.pO_DocNo = value;	
			}
		}		
						

		/// <summary>
		/// 供应商ID (该属性可为空,但有默认值)
		/// 查询采购订单行.Misc.供应商ID
		/// </summary>
		/// <value>System.Int64</value>
		public System.Int64 Supplier
		{
			get	
			{	
				return this.supplier;
			}

			set	
			{	
				this.supplier = value;	
			}
		}		
						

		/// <summary>
		/// 供应商编码 (该属性可为空,且无默认值)
		/// 查询采购订单行.Misc.供应商编码
		/// </summary>
		/// <value>System.String</value>
		public System.String Supplier_Code
		{
			get	
			{	
				return this.supplier_Code;
			}

			set	
			{	
				this.supplier_Code = value;	
			}
		}		
						

		/// <summary>
		/// 业务日期 (该属性可为空,且无默认值)
		/// 查询采购订单行.Misc.业务日期
		/// </summary>
		/// <value>System.Date</value>
		public System.DateTime Date
		{
			get	
			{	
				return this.date;
			}

			set	
			{	
				this.date = value;	
			}
		}		
						

		/// <summary>
		/// 料品 (该属性可为空,但有默认值)
		/// 查询采购订单行.Misc.料品
		/// </summary>
		/// <value>System.Int64</value>
		public System.Int64 Item
		{
			get	
			{	
				return this.item;
			}

			set	
			{	
				this.item = value;	
			}
		}		
						

		/// <summary>
		/// 料号 (该属性可为空,且无默认值)
		/// 查询采购订单行.Misc.料号
		/// </summary>
		/// <value>System.String</value>
		public System.String Item_Code
		{
			get	
			{	
				return this.item_Code;
			}

			set	
			{	
				this.item_Code = value;	
			}
		}		
			
	#endregion	


	#region Constructors
        public QueryDocProxy()
        {
        }
        #endregion
        

		#region Public Method
		
        public List<UFIDA.U9.Cust.U9Demo.DeliveryBP.ResultDTOData> Do()
        {
  			InitKeyList() ;
 			List<UFIDA.U9.Cust.U9Demo.DeliveryBP.ResultDTOData> result = (List<UFIDA.U9.Cust.U9Demo.DeliveryBP.ResultDTOData>)InvokeAgent<UFIDA.U9.Cust.U9Demo.DeliveryBP.Proxy.IQueryDoc>();
			return GetRealResult(result);
        }
        
		protected override object InvokeImplement<T>(T oChannel)
        {
			IContext context = ContextManager.Context;			

            IQueryDoc channel = oChannel as IQueryDoc;
            if (channel != null)
            {
				return channel.Do(context, out returnMsgs, pO, pO_DocNo, supplier, supplier_Code, date, item, item_Code);
	    }
            return  null;
        }
		#endregion
		
		//处理由于序列化导致的返回值接口变化，而进行返回值的实际类型转换处理．
		private List<UFIDA.U9.Cust.U9Demo.DeliveryBP.ResultDTOData> GetRealResult(List<UFIDA.U9.Cust.U9Demo.DeliveryBP.ResultDTOData> result)
		{
								return result ;
			}
		#region  Init KeyList 
		//初始化SKey集合--由于接口不一样.BP.SV都要处理
		private void InitKeyList()
		{
			System.Collections.Hashtable dict = new System.Collections.Hashtable() ;
																																			
		}
		#endregion 

    }
}



